home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / sun / management / LazyCompositeData.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  3.0 KB  |  146 lines

  1. package sun.management;
  2.  
  3. import java.io.ObjectStreamException;
  4. import java.io.Serializable;
  5. import java.util.Collection;
  6. import java.util.List;
  7. import java.util.Set;
  8. import javax.management.openmbean.CompositeData;
  9. import javax.management.openmbean.CompositeType;
  10. import javax.management.openmbean.OpenType;
  11. import javax.management.openmbean.TabularType;
  12.  
  13. public abstract class LazyCompositeData implements CompositeData, Serializable {
  14.    private CompositeData compositeData;
  15.  
  16.    public boolean containsKey(String var1) {
  17.       return this.compositeData().containsKey(var1);
  18.    }
  19.  
  20.    public boolean containsValue(Object var1) {
  21.       return this.compositeData().containsValue(var1);
  22.    }
  23.  
  24.    public boolean equals(Object var1) {
  25.       return this.compositeData().equals(var1);
  26.    }
  27.  
  28.    public Object get(String var1) {
  29.       return this.compositeData().get(var1);
  30.    }
  31.  
  32.    public Object[] getAll(String[] var1) {
  33.       return this.compositeData().getAll(var1);
  34.    }
  35.  
  36.    public CompositeType getCompositeType() {
  37.       return this.compositeData().getCompositeType();
  38.    }
  39.  
  40.    public int hashCode() {
  41.       return this.compositeData().hashCode();
  42.    }
  43.  
  44.    public String toString() {
  45.       return this.compositeData().toString();
  46.    }
  47.  
  48.    public Collection values() {
  49.       return this.compositeData().values();
  50.    }
  51.  
  52.    private synchronized CompositeData compositeData() {
  53.       if (this.compositeData != null) {
  54.          return this.compositeData;
  55.       } else {
  56.          this.compositeData = this.getCompositeData();
  57.          return this.compositeData;
  58.       }
  59.    }
  60.  
  61.    protected Object writeReplace() throws ObjectStreamException {
  62.       return this.compositeData();
  63.    }
  64.  
  65.    protected abstract CompositeData getCompositeData();
  66.  
  67.    static String getString(CompositeData var0, String var1) {
  68.       if (var0 == null) {
  69.          throw new IllegalArgumentException("Null CompositeData");
  70.       } else {
  71.          return (String)var0.get(var1);
  72.       }
  73.    }
  74.  
  75.    static boolean getBoolean(CompositeData var0, String var1) {
  76.       if (var0 == null) {
  77.          throw new IllegalArgumentException("Null CompositeData");
  78.       } else {
  79.          return (Boolean)var0.get(var1);
  80.       }
  81.    }
  82.  
  83.    static long getLong(CompositeData var0, String var1) {
  84.       if (var0 == null) {
  85.          throw new IllegalArgumentException("Null CompositeData");
  86.       } else {
  87.          return (Long)var0.get(var1);
  88.       }
  89.    }
  90.  
  91.    static int getInt(CompositeData var0, String var1) {
  92.       if (var0 == null) {
  93.          throw new IllegalArgumentException("Null CompositeData");
  94.       } else {
  95.          return (Integer)var0.get(var1);
  96.       }
  97.    }
  98.  
  99.    protected static boolean isTypeMatched(CompositeType var0, CompositeType var1) {
  100.       if (var0 == var1) {
  101.          return true;
  102.       } else {
  103.          Set var2 = var0.keySet();
  104.          if (!var1.keySet().containsAll(var2)) {
  105.             return false;
  106.          } else {
  107.             for(String var4 : var2) {
  108.                OpenType var5 = var0.getType(var4);
  109.                OpenType var6 = var1.getType(var4);
  110.                if (var5 instanceof CompositeType) {
  111.                   if (!(var6 instanceof CompositeType)) {
  112.                      return false;
  113.                   }
  114.  
  115.                   if (!isTypeMatched((CompositeType)var5, (CompositeType)var6)) {
  116.                      return false;
  117.                   }
  118.                } else if (var5 instanceof TabularType) {
  119.                   if (!(var6 instanceof TabularType)) {
  120.                      return false;
  121.                   }
  122.  
  123.                   if (!isTypeMatched((TabularType)var5, (TabularType)var6)) {
  124.                      return false;
  125.                   }
  126.                } else if (!var5.equals(var6)) {
  127.                   return false;
  128.                }
  129.             }
  130.  
  131.             return true;
  132.          }
  133.       }
  134.    }
  135.  
  136.    protected static boolean isTypeMatched(TabularType var0, TabularType var1) {
  137.       if (var0 == var1) {
  138.          return true;
  139.       } else {
  140.          List var2 = var0.getIndexNames();
  141.          List var3 = var1.getIndexNames();
  142.          return !var2.equals(var3) ? false : isTypeMatched(var0.getRowType(), var1.getRowType());
  143.       }
  144.    }
  145. }
  146.